Software-defined networking (“SDN”) is an approach to computer networking aimed at allowing network engineers and administrators to respond quickly to changing network requirements. Using SDN, a network administrator can initialize, control, change, and manage network behavior from a centralized control console without having to touch individual switches, and can deliver services to wherever they are needed in the network, without regard to what specific devices a server or other hardware components are connected. A key component of SDN is separation of the system that makes decisions about where and how traffic is sent (i.e., the control plane, or SDN controller) from the underlying devices that forward traffic to the intended destination (i.e., the data plane).
Currently, the bandwidth designated for control plane communications between the SDN controller and a network device for purposes of monitoring and configuration is based on what the controller requests from the network device. For example, if the SDN controller asks a network device to enable monitoring including Syslog, netflow, and device profiling, neither the device nor the controller takes into account the network conditions. Instead, attempts are made to simply push as much data across the control channel as possible.